// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.

#pragma once

#include "CoreTypes.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "MovieSceneSection.h"
#include "SmartMovieSceneSectionExtensions.generated.h"


/**
 * Function library containing methods that should be hoisted onto FMovieSceneBindingProxies for scripting
 */
UCLASS()
class SMARTPYTHONEXTENSIONS_API USmartMovieSceneSectionExtensions : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()


	UFUNCTION(BlueprintCallable, Category=Sequence, meta=(ScriptMethod))
	static int32 SmGetRow(UMovieSceneSection* Section);

	UFUNCTION(BlueprintCallable, Category = Sequence, meta = (ScriptMethod))
	static void SmSetRow(UMovieSceneSection* Section, int32 Index);

	UFUNCTION(BlueprintCallable, Category = Sequence, meta = (ScriptMethod))
	static void SmSetRange(UMovieSceneSection* Section, int32 Start, int32 End);

	UFUNCTION(BlueprintCallable, Category = Sequence, meta = (ScriptMethod))
	static TArray<int32> SmGetRange(UMovieSceneSection* Section);

	UFUNCTION(BlueprintCallable, Category = Sequence, meta = (ScriptMethod))
	static void SmSetLocked(UMovieSceneSection* Section, bool bIsLocked=true);

	UFUNCTION(BlueprintCallable, Category = Sequence, meta = (ScriptMethod))
	static void SmSetActive(UMovieSceneSection* Section, bool bIsActive = true);

	UFUNCTION(BlueprintCallable, Category = Sequence, meta = (ScriptMethod))
	static int32 SmGetStartFrameOffset(UMovieSceneSection * Section);

	UFUNCTION(BlueprintCallable, Category = Sequence, meta = (ScriptMethod))
	static int32 SmGetFrameNumber(UMovieSceneSection * Section, int32 Frame);
};